package com.stq.toutiao.api;

import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.stq.toutiao.model.request.TouTiaoTemplateMessageParam;
import com.stq.toutiao.model.response.TouTiaoAccessToken;
import com.stq.toutiao.model.response.TouTiaoBase;

import static com.stq.toutiao.config.TouTiaoUrlConfig.SEND_URL;
import static com.stq.toutiao.model.response.TouTiaoErrCodeEnum.ERRCODE_NEGATIVE_1;
import static com.stq.toutiao.model.response.TouTiaoErrCodeEnum.ERRCODE_NEGATIVE_2;

/**
 * 模板消息接口
 *
 * @author stqsht@163.com
 * @date 2020-01-26 10:00
 */
public class TouTiaoTemplateMessageApi {

    public static TouTiaoBase sendTemplateMessage(TouTiaoTemplateMessageParam param) {
        if (param == null || StrUtil.isEmpty(param.getAccessToken())
                || StrUtil.isEmpty(param.getOpenId()) || StrUtil.isEmpty(param.getTemplateId())
                || StrUtil.isEmpty(param.getFormId()) || StrUtil.isEmpty(param.getData())) {
            return new TouTiaoAccessToken(ERRCODE_NEGATIVE_2.getErrcode(), ERRCODE_NEGATIVE_2.getErrmsg());
        }
        String body = JSONObject.toJSONString(param);
        String post = HttpUtil.post(SEND_URL, body);
        if (StrUtil.isEmpty(post)) {
            return new TouTiaoBase(ERRCODE_NEGATIVE_1.getErrcode(), ERRCODE_NEGATIVE_1.getErrmsg());
        }
        return JSONObject.parseObject(post, TouTiaoBase.class);

    }

}
